<?php
class LogisticasController extends AppController {

	var $name = 'Logisticas';
	var $uses = array('UsersEntidadesTerritoriale', 'Logistica', 'Municipio','Tallere');
	var $helpers = array('Access','Entidad','Logistica','Taller');
		
	function index($taller=null) {
		$this->Logistica->recursive = 0;
		$this->set('logisticas', $this->paginate());
	}

	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Logistica Invalida', true));
			$this->redirect(array('action' => 'index'));			
		}
		$this->set('logistica', $this->Logistica->read(null, $id));
	}

	function add($entidad=null,$taller=null) {
		if (!empty($this->data)) {
			$this->Logistica->create();
			if ($this->Logistica->save($this->data)) {
				$this->Session->setFlash(__('Logistica Guardada', true));
				$this->redirect(array('action' => 'talleres_logistica/'.$this->data['Logistica']['entidades_territoriale_id']."/".$this->data['Logistica']['tallere_id']));
			} else {
				$this->Session->setFlash(__('La logistica no se guardo.', true));
			}
		}
		$entidadesTerritoriales = $this->Logistica->Tallere->EntidadesTerritoriale->read(null,$entidad);						
		$talleres = $this->Logistica->Tallere->read(null,$taller);	
		$users = $this->Logistica->User->find('list',array('fields'=>array('User.id','User.nombre')));
		$this->set(compact('talleres', 'users','entidadesTerritoriales'));
	}

	function edit($id = null,$entidad=null,$taller=null) {
		
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Logistica Invalida', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Logistica->save($this->data)) {
				$this->Session->setFlash(__('Logistica Actualizada', true));
				$this->redirect(array('action' =>'talleres_logistica/'.$this->data['Logistica']['entidades_territoriale_id']."/".$this->data['Logistica']['tallere_id']));
			} else {
				$this->Session->setFlash(__('La Logistica no se actualizo.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Logistica->read(null, $id);
		}		
		$entidadesTerritoriales = $this->Logistica->Tallere->EntidadesTerritoriale->read(null,$entidad);
		$talleres = $this->Logistica->Tallere->read(null,$taller);
		$users = $this->Logistica->User->find('list',array('fields'=>array('User.id','User.nombre')));
		$this->set(compact('talleres', 'users','entidadesTerritoriales'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('logistica', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Logistica->delete($id)) {
			$this->Session->setFlash(__('Logistica eliminada', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('La logistica no se elimino', true));
		$this->redirect(array('action' => 'index'));
	}
	
	function entidades_logistica(){
		$entidades_datos=$this->UsersEntidadesTerritoriale->find('all',array('conditions'=>array('UsersEntidadesTerritoriale.user_id'=>$this->Access->getMy('id'))));
		
		$entidades = array();
		$i = 0;
		foreach ($entidades_datos as &$entidad):
			$entidades[$i]['Entidad']['id']=$entidad['EntidadesTerritoriale']['id'];
			$municipio=$this->Municipio->read(null,$entidad['EntidadesTerritoriale']['municipio_id']);
			$entidades[$i]['Entidad']['nombre']=$municipio['Municipio']['nombre'];
			$talleres  = $this->Tallere->find('first', array('conditions'=>array('Tallere.entidades_territoriale_id'=>$entidad['EntidadesTerritoriale']['id'])));	
   			$entidades[$i]['taller'] = $talleres['Tallere']['id'];	
   			$i++;			
		
		endforeach;
		$this->set(compact('entidades'));
	}	

	function talleres_logistica($entidad=null){	
		$talleres=$this->Tallere->find('all',array('conditions'=>array('Tallere.entidades_territoriale_id'=>$entidad)));
		$municipio = $this->Tallere->EntidadesTerritoriale->read("municipio_id",$entidad);
		$nombre_entidad = $this->Tallere->EntidadesTerritoriale->Municipio->read("nombre",$municipio['EntidadesTerritoriale']['municipio_id']);
		$nombre_entidad = $nombre_entidad['Municipio']['nombre'];	
			
		$this->set(compact('talleres','entidad','nombre_entidad'));	
	}
	
    function fotos_logistica($id_logistica=null) {
	  	
          if (isset ($_FILES["archivos"])){
                $dominio = substr($_POST["dominio"],0,strlen($_POST["dominio"])-9);
                $uploads_dir=$dominio.'fotos_logistica/';                
                $logistica = $this->Logistica->read(null, $_POST['id_logistica']);
                $fotos = ( $logistica['Logistica']['fotografia']!="")?split(",",  $logistica['Logistica']['fotografia']):array();
                $indice_foto = 1;
                if(count($fotos)>0){
                   $indice_foto = count($fotos); 
                  $logistica['Logistica']['fotografia'] =  $logistica['Logistica']['fotografia'].",";
                }
                //obtenemos la cantidad de elementos que tiene el arreglo archivos
                $tot = count($_FILES["archivos"]["name"]);                
                $archivo = "";
                for ($i = 0; $i < $tot; $i++){                        
                         $tmp_name = $_FILES["archivos"]["tmp_name"][$i];
                         $ext="";
                         if($_FILES["archivos"]["type"][$i]=="image/jpeg")
                            $ext = ".jpg";
                         else if($_FILES["archivos"]["type"][$i]=="image/png")
                            $ext = ".png";
                         else if($_FILES["archivos"]["type"][$i]=="image/gif")
                            $ext = ".gif";
                         else if($_FILES["archivos"]["type"][$i]=="application/pdf"){
                         	$ext = ".pdf";
                         }                         
                         else if($_FILES["archivos"]["type"][$i]=="application/msword"){
                         	$ext = ".doc";
                         }

                         $name = $_POST['id_logistica']."_".$indice_foto.$ext;                          
                         if(move_uploaded_file($tmp_name, $uploads_dir.$name)){
                                $archivo = $archivo.$name.",";                              
                                $indice_foto++;
                         }                                                  
                }
                $archivo = substr($archivo,0,strlen($archivo)-1);         
               		$this->Logistica->create();
                    $this->Logistica->id= $_POST['id_logistica'];                

                    $this->Logistica->saveField('fotografia',$logistica['Logistica']['fotografia'].$archivo);
                                                 
                	$this->Session->setFlash(__('Fotos guardadas', true));
                    $this->redirect(array('action'=>'fotos_logistica', $_POST['id_logistica']));

        }
      $this->set(compact('id_logistica'));   	
    }
    
    function ver_fotografias_logistica($id_logistica = null){	
		$lista = $this->Logistica->find('first',array('conditions'=>array('Logistica.id'=>$id_logistica)));
		$fotografias = split(",", $lista['Logistica']['fotografia']);	
    	$this->set(compact('fotografias'));
	}
	
    function anexos_logistica($id_logistica = null){

         if (isset ($_FILES["archivos"])){
                $dominio = substr($_POST["dominio"],0,strlen($_POST["dominio"])-9);
                $uploads_dir=$dominio.'anexos_logistica/';                
                $logistica = $this->Logistica->read(null, $_POST['id_logistica']);
                $anexos = ($logistica['Logistica']['anexo']!="")?split(",", $logistica['Logistica']['anexo']):array();
                $indice_foto = 1;
                if(count($anexos)>0){
                   $indice_foto = count($anexos);
                   $logistica['Logistica']['anexo'] = $logistica['Logistica']['anexo'].",";
                }
                //obtenemos la cantidad de elementos que tiene el arreglo archivos
                $tot = count($_FILES["archivos"]["name"]);                
                $archivo = "";
                for ($i = 0; $i < $tot; $i++){                        
                         $tmp_name = $_FILES["archivos"]["tmp_name"][$i];
                         $ext="";
                         if($_FILES["archivos"]["type"][$i]=="image/jpeg")
                            $ext = ".jpg";
                         else if($_FILES["archivos"]["type"][$i]=="image/png")
                            $ext = ".png";
                         else if($_FILES["archivos"]["type"][$i]=="image/gif")
                            $ext = ".gif";
                         else if($_FILES["archivos"]["type"][$i]=="application/pdf"){
                         	$ext = ".pdf";
                         }                         
                         else if($_FILES["archivos"]["type"][$i]=="application/msword"){
                         	$ext = ".doc";
                         }

                         $name = $_POST['id_logistica']."_".$indice_foto.$ext;                          
                         if(move_uploaded_file($tmp_name, $uploads_dir.$name)){
                                $archivo = $archivo.$name.",";                              
                                $indice_foto++;
                         }                                                  
                }
                $archivo = substr($archivo,0,strlen($archivo)-1);         
               		$this->Logistica->create();
                    $this->Logistica->id= $_POST['id_logistica'];                

                    $this->Logistica->saveField('anexo',$logistica['Logistica']['anexo'].$archivo);
                                                 
                	$this->Session->setFlash(__('Anexos guardados', true));
                    $this->redirect(array('action'=>'anexos_logistica', $_POST['id_logistica']));

        }
      $this->set(compact('id_logistica'));
   
     }
     
     function ver_anexos_logistica($id_logistica = null){	
		$lista = $this->Logistica->find('first',array('conditions'=>array('Logistica.id'=>$id_logistica)));
		$anexos = split(",", $lista['Logistica']['anexo']);	
    	$this->set(compact('anexos'));
	}
}
